package com.szrt.day20170407;

import org.junit.Test;

/**
 * 
 * 已知：
 * 		1：1个给定的数组
 * 		2：要找什么
 * 
 * 
 * 求：在不在?   boolean  true/false
 * 			   int      index/-1  
 * 
 * 
 * 
 * 方法的设计=接口
 * public int searchIndex(int[] ages,int target){
 * 
 * 	   方法体=方法的实现
 * }
 * 
 * 
 * @author scott-13926583118
 * 2017年4月7日
 *
 */
public class SearchTest {
	
	
	@Test
	public void searchIndexTest() throws Exception {
		
		int[] ages={10,20,30};
		
		int target = 20;
		
		//先按住CTRL键不动  再按1  熟练掌握
		int result = searchIndex(ages, target);
		
		System.out.println(result);
		
		if(result>0){
			// 先按住CTRL+ALT键不动  再按向下的箭头 1次 复制1行代码
			// 先按住ALT键不动  再按向下的箭头 移动到合适的位置
			System.out.println("该数据"+target+"在数组中存在。其下标是"+result);
		}else{
			System.out.println("该数据"+target+"在数组中不存在");
		}
		
	}
	
	
	
	/**
	 * 在工作中凡是public的方法都要求写注释：华为 注释率不能低于30% 否则不能上线
	 * @param ages      要查找的数组
	 * @param target    要朝着的目标
	 * @return   查找目标的下标,如果不存在 返回-1
	 */
	public int searchIndex(int[] ages,int target){
		
		int result =-1;
		
		//1  先循环数组ages 获取某个具体的值  value  
		for(int index=0;index<ages.length;index++){
			int value = ages[index];
			if(value == target ){
				//如果相等 得到当前下标 并且结束循环
				result = index;
				break;
			}
		}
		
		
		//2 看value跟target是否相等    如果相等 得到当前下标 并且结束循环   如果没有找到返回-1
		
		return result;
	}

}
